This invention relates to apparatus for generating cursors that are superimposed upon a raster scanned television screen to point at or delineate selected areas in the image being displayed on the screen.
The new cursor generator is usable with any raster scanned television display and it is particularly useful in connection with displays of x-ray images that are obtained with computed tomography apparatus. In computed tomography apparatus, it is desirable to provide the user with the capability of writing a cursor such as a rectangle, a square, crosshairs, a horizontal line, a vertical line, or an angulatable vertical line on the image of an anatomical region that is being displayed on a raster scanned television screen. In the most advanced cursor generator systems, the data for writing a cursor on the display screen has been generated with a microprocessor that is dedicated or used exclusively for cursor generation. The new cursor generator system described herein handles the cursor data in such fashion and with such rapidity that the cursors can be generated as one of the functions of a microprocessor that also performs many other control functions separate from cursor generation.
A known type of microprocessor based cursor generator system is described in U.S. Pat. No. 4,259,725 which is owned by the assignee of this application and is incorporated herein by reference. This patent typifies generating cursors with a dedicated microprocessor. In the system described in this patent, the user selects a particular cursor configuration by using some operator interactive devices such as a trackball encoder and switches. Coded information indicative of the configuration, size and location of the cursor is input to a random access memory (RAM) that is coupled to a dedicated microprocessor bus. The microprocessor accesses instructions from a read-only memory (ROM) for generating the cursor data. During a television vertical blanking interval, the digital data for developing and locating an entire cursor is stored in another RAM. If the user moves the cursor by operating the trackball, the data for generating the cursor in its new location is stored in RAM during the next vertical blanking pulse. Data for developing the brightened picture elements that compose the cursor for each television raster line must be stored in RAM simultaneously. Thus, at least as many RAM locations must be available as there are horizontal raster lines.
In the system described in the cited patent, every time a horizontal blanking interval occurs, a direct memory access (DMA) controller effects transfer of the cursor data, that is to be written on the particular horizontal raster line, to pairs of counters. As soon as a horizontal blanking interval ends and sweep for the line starts, the counters begins to count picture elements (pixels). When one of the counters counts to overflow, the writing beam of the television display tube is modulated so it writes a brightened line on the television screen. When the other counter in the pair counts down to underflow, the writing beam is restored to the intensity level appropriate to the pixels for the image written on the particular line and the width of the cursor line is thereby determined.
In prior computed tomography display systems, the x-ray image was typically composed of a matrix of 312.times.312 pixels, that is, 312 pixels in each horizontal line and 312 active horizontal lines. Thus, there was a substantial amount of time available for the microprocessor to load the voluminous data for an entire cursor into RAM during a vertical blanking interval and to have the DAM controller transfer the data on a horizontal line-by-horizontal line basis to the x-start position and line width counters. In the most advanced computed tomography systems, however, the x-ray image is composed of a 512.times.512 pixel matrix. Hence, the microprocessor would have to calculate the cursor data for many more horizontal lines and repeat the calculations for new positions of the cursor and load the data in RAM during vertical blanking intervals. A microprocessor that is fast enough to calculate the cursor segment writing start and stop data for all 512 horizontal lines and to effect its transfer to RAM during a vertical blanking interval is difficult, if not impossible, to obtain in the present state of the technology. The present invention gets around this problem by an arrangement that only requires sharing some time with a microprocessor that can still use most of its time to perform functions that are not related to cursor generation.
Another cursor generator system that uses a dedicated computer is described in U.S. Pat. No. 3,894,292. This patent also teaches making an individual calculation of the cursor line segment starting and ending position data for every horizontal raster line. As this patent states, the actual number of line symbols that can be drawn is dependent on how many computations the computer can make during the time that a single horizontal raster line is being written. In a 50 Hz synchronized television display scheme where 512 pixels per horizontal line are displayed, a horizontal line duration is about 23 microseconds and in a 60 Hz system, it is just under 20 microseconds. Moreover, in 50 Hz and 60 Hz television systems the horizontal blanking interval is only 11.5 microseconds and 9.59 microseconds, respectively. This is a very short time for loading the counters directly from RAM or for making cursor position calculations on a horizontal line-by-line basis as in the patent which was last cited.